﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.IO;
using System.Data.Entity;
using System.ComponentModel.DataAnnotations;
using System.Collections;

namespace WebVideo.Areas.Admin.Models
{
    public class SupportStaffModel
    {
        public int Id { get; set; }

        [Required(ErrorMessage = "Yahoo không được rỗng")]
        [StringLength(100, ErrorMessage = "Yahoo phải ít hơn {1} kí tự và lớn hơn {2} kí tự", MinimumLength = 3)]
        public string Yahoo { get; set; }

        [Required(ErrorMessage = "Skype không được rỗng")]
        [StringLength(100, ErrorMessage = "Skype phải ít hơn {1} kí tự và lớn hơn {2} kí tự", MinimumLength = 3)]
        public string Skype { get; set; }

        [Required(ErrorMessage = "Tên nhân viên không được rỗng")]
        [StringLength(100, ErrorMessage = "Tên nhân viên phải ít hơn {1} kí tự và lớn hơn {2} kí tự", MinimumLength = 3)]
        public string Name { get; set; }

        [Required(ErrorMessage = "Địa chỉ không được rỗng")]
        [StringLength(100, ErrorMessage = "Địa chỉ phải ít hơn {1} kí tự và lớn hơn {2} kí tự", MinimumLength = 10)]
        public string Adress { get; set; }

        [Required(ErrorMessage = "Số điện thoại không được rỗng")]
        [RegularExpression("^\\+?\\d+$", ErrorMessage = "Không nhập ký tự , vui lòng nhập số điện thoại")]
        public string PhoneNumber { get; set; }

        [Required(ErrorMessage = "Email không được rỗng")]
        [EmailAddress(ErrorMessage = "Định dạng Email sai")]
        public string Email { get; set; }

        public DateTime? Date { get; set; }


        public static IEnumerable<EntitySupportStaff> Index()
        {
            dbVideoDataContext db = new dbVideoDataContext();
            var query = from p in db.EntitySupportStaffs
                        select p;
            return query.ToList();
        }
        public static void Insert(SupportStaffModel SS)
        {
            dbVideoDataContext db = new dbVideoDataContext();
            EntitySupportStaff ss = new EntitySupportStaff();
            ss.Yahoo = SS.Yahoo;
            ss.Skype = SS.Skype;
            ss.Name = SS.Name;
            ss.Adress = SS.Adress;
            ss.PhoneNumber = SS.PhoneNumber;
            ss.Email = SS.Email;
            ss.Date = DateTime.Now;
            db.EntitySupportStaffs.InsertOnSubmit(ss);
            db.SubmitChanges();
        }

        public static SupportStaffModel LayModel(int IdSS)
        {
            SupportStaffModel Faq = new SupportStaffModel();
            dbVideoDataContext db = new dbVideoDataContext();
            EntitySupportStaff tnew = db.EntitySupportStaffs.Where(p => p.Id == IdSS).Single();
            Faq.Yahoo = tnew.Yahoo;
            Faq.Skype = tnew.Skype;
            Faq.Name = tnew.Name;
            Faq.Adress = tnew.Adress;
            Faq.PhoneNumber = tnew.PhoneNumber;
            Faq.Email = tnew.Email;
            Faq.Id = tnew.Id;
            Faq.Date = tnew.Date;
            return Faq;
        }
        public static void Edit(SupportStaffModel SS)
        {
            dbVideoDataContext db = new dbVideoDataContext();
            EntitySupportStaff Faq = db.EntitySupportStaffs.Where(p => p.Id == SS.Id).Single();

            Faq.Yahoo = SS.Yahoo;
            Faq.Skype = SS.Skype;
            Faq.Name  = SS.Name;
            Faq.Adress = SS.Adress;
            Faq.PhoneNumber = SS.PhoneNumber;
            Faq.Email = SS.Email;
            db.SubmitChanges();

        }
        public static void Delete(int Id)
        {
            dbVideoDataContext db = new dbVideoDataContext();

            EntitySupportStaff faq = db.EntitySupportStaffs.Where(p => p.Id == Id).Single();
            db.EntitySupportStaffs.DeleteOnSubmit(faq);
            db.SubmitChanges();
        }
    }
}